import java.util.*;

public class Simulator 
{
	ArrayList<CPU>		m_cores;
	ArrayList<Process>	m_readyProcs;
	ArrayList<Process>	m_waitingProcs;
	
	// waiting queue
	// ready queue

	
	public Simulator()
	{
		initCores(1);
		initQueues();
	}
	public Simulator(int numCores)
	{
		initCores(numCores);
		initQueues();
	}
	
	private void initQueues()
	{
		m_readyProcs = new ArrayList<Process>();
		m_waitingProcs = new ArrayList<Process>();
	}
	
	private void initCores(int numCores)
	{
		m_cores = new ArrayList<CPU>();
		for (int i = 0; i < numCores; ++i)
		{
			m_cores.add(new CPU());
		}
	}	
	
	public void run()
	{
		// get process from scheduler manager
		// assign process to a core
		// execute core
	}
}
